Skip to content

Public documentation site (loopy.writeit.ai)#59

Merged
fazpu merged 3 commits into
mainfrom
design/documentation-site
Jul 12, 2026
Merged

Public documentation site (loopy.writeit.ai)#59
fazpu merged 3 commits into
mainfrom
design/documentation-site

Conversation

@fazpu

@fazpu fazpu commented Jul 12, 2026

Copy link
Copy Markdown
Member

Summary

Adds a self-hostable MDX documentation site for loopy-loop, to be published on loopy.writeit.ai.

This PR starts with the design document capturing the plan and decisions, then implements the site itself in website/.

Design decisions (see design/designs/documentation-site.md)

  1. Engine — replicate orchestra's native @next/mdx pattern (page.mdx-as-route), not a new framework.
  2. Locationwebsite/ in this repo, so docs version with the code (self-hostable module).
  3. Hosting — GitHub Pages at loopy.writeit.ai via CNAME (static export, no server).
  4. Search — Pagefind + cmdk for a ⌘K command palette (static, self-hostable).
  5. Style — the WriteIt brand palette + an open-font substitute for the domain-locked proxima-nova; light-first.
  6. Content — restructure the existing README / docs/* / design docs into MDX pages; reconcile SKILL.md drift.

Reviewers

Implementation reviewed by Codex and Antigravity; findings addressed in-branch.

Test plan

  • website/ builds a static export (output: 'export') cleanly
  • Pagefind index generates over the export; ⌘K search works
  • All MDX pages render with the WriteIt palette and correct nav/prev-next/TOC
  • GitHub Actions deploy workflow is valid; CNAME + .nojekyll present

🤖 Generated with Claude Code

https://claude.ai/code/session_01Un4k1QPzatBWDgtRA1EvHh

fazpu and others added 3 commits July 12, 2026 23:50
Records the plan and decisions for a self-hostable MDX documentation site
for loopy-loop, published on loopy.writeit.ai. Follows orchestra's native
@next/mdx pattern, styled to the WriteIt palette, with Pagefind + cmdk (Cmd+K)
search, deployed to GitHub Pages.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Un4k1QPzatBWDgtRA1EvHh
Static MDX documentation site under website/, published to GitHub Pages at
loopy.writeit.ai. Replicates orchestra's native @next/mdx pattern (page.mdx as
routes), Tailwind v4 + typography themed to the WriteIt palette, Pagefind +
cmdk (Cmd+K) search, and a GitHub Pages deploy workflow.

- website/: Next.js App Router app, output: 'export', trailingSlash
- 12 docs pages restructured from README/docs/design (current API, no SKILL drift)
- WriteIt brand palette (sand/ink/green/gold/red); Hanken Grotesk (open font)
- Pagefind static index + cmdk command palette (Cmd/Ctrl+K), scoped via
  data-pagefind-body
- .github/workflows/docs-deploy.yml: build + Pagefind + actions/deploy-pages
- public/CNAME + public/.nojekyll for the custom subdomain

Verified: next build exports all 15 routes; Pagefind indexes 12 pages; local
smoke test confirms rendering, Cmd+K search results, and navigation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Un4k1QPzatBWDgtRA1EvHh
Search (Pagefind + cmdk):
- Resolve the Pagefind module via a fully-qualified origin URL so the
  dynamic import can't drift to the wrong base (fixed a real load failure).
- Make searches race-safe with a monotonic request id; ignore stale/out-of-order
  resolutions and in-flight work after the dialog closes.
- Add error/unavailable states; don't cache a failed init permanently.
- Lowercase the Cmd/Ctrl+K key check (Caps Lock) and show a platform-aware hint.

Accessibility:
- Rebuild the mobile sidebar on Radix Dialog (focus trap, scroll lock,
  role/aria-modal, focus restoration).
- Darken the text/interactive green to #2f7563 (WCAG AA on sand and with white);
  keep the vivid #5ca493 as a decorative --brand accent. Restore link underlines
  so color isn't the only cue.

Other:
- Route internal MDX links through next/link (client nav; avoids GitHub Pages
  301s under trailingSlash).
- Replace the broken 'next start' (invalid with output: export) with a static
  'preview'.
- Move workflow concurrency onto the deploy job so PR build-checks stay concurrent.
- Document the required one-time GitHub Pages + DNS provisioning (an Actions
  deploy does not bind the domain from the artifact CNAME alone).

Declined: importing MDX plugins as functions — Turbopack requires serializable
string plugin names, so the string form is kept.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Un4k1QPzatBWDgtRA1EvHh
@fazpu fazpu merged commit 6e67e2c into main Jul 12, 2026
4 checks passed
@fazpu fazpu deleted the design/documentation-site branch July 12, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant